Business process management (BPM) offers a programmatic structure for designing transactions and executing them using automated decisions, tasks and sequence flows. For example, an insurance company can use BPM to automate the steps involved in processing insurance claims. BPM solutions typically include an engine that executes process definitions, and tools that aid process development and monitoring.
A typical BPM engine supports a specific business process language. For example, jBPM, an engine used by jBoss division of Red Hat Inc., supports jBoss process definition language (jPDL). jPDL is a Java-centric workflow management language intended for business processes coordinating Java components. However, some business processes involve frequent interactions with heterogeneneous systems that are not limited to Java implementations. For such business processes, jPDL may not be an appropriate language.
Conventional BPM engines are tied to a single business process language and do not provide a flexibility of switching between different business process languages depending on the nature of business processes being modeled.